/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mx.unam.fciencias.ActividadesCulturales.services;

import java.util.List;
import mx.unam.fciencias.ActividadesCulturales.services.DAO.IndicadorDAO;
import mx.unam.fciencias.actividadesculturales.entidades.db.Indicador;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 * Capa de Negocio para comunicarse con la capa de datos de la entidad indicador.
 * @author lumartin
 */
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public class ServicioIndicador {

    /** Acceso a datos de indicador */
    private IndicadorDAO indicadorDAO;

    /**
     * Obtiene un indicador a apartir de su identificador.
     * @param id identificador de indicador.
     * @return el indicador.
     */
    public Indicador getById(Long id) {
        return indicadorDAO.getById(id);
    }

    /**
     * Obtiene todos los indicadores.
     * @return lista con los indicadores.
     */
    public List<Indicador> getTodos() {
        return indicadorDAO.getTodos();
    }

    /**
     * Guarda o actualiza un indicador
     * @param indicador a guardar
     * @return true si se guardo correctamente false si no.
     */
    public boolean guarda (Indicador indicador) {
        return indicadorDAO.guardar(indicador);
    }

    /**
     * Obtiene a indicadorDAO.
     * @return indicadorDAO.
     */
    public IndicadorDAO getIndicadorDAO() {
        return indicadorDAO;
    }

    /**
     * Asigna un indicadorDAO.
     * @param indicadorDAO a asignar.
     */
    public void setIndicadorDAO(IndicadorDAO indicadorDAO) {
        this.indicadorDAO = indicadorDAO;
    }

}
